package com.cognizant.ams.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class LdmenugrpExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public LdmenugrpExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andMenugrpcodeIsNull() {
            addCriterion("MENUGRPCODE is null");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeIsNotNull() {
            addCriterion("MENUGRPCODE is not null");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeEqualTo(String value) {
            addCriterion("MENUGRPCODE =", value, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeNotEqualTo(String value) {
            addCriterion("MENUGRPCODE <>", value, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeGreaterThan(String value) {
            addCriterion("MENUGRPCODE >", value, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeGreaterThanOrEqualTo(String value) {
            addCriterion("MENUGRPCODE >=", value, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeLessThan(String value) {
            addCriterion("MENUGRPCODE <", value, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeLessThanOrEqualTo(String value) {
            addCriterion("MENUGRPCODE <=", value, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeLike(String value) {
            addCriterion("MENUGRPCODE like", value, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeNotLike(String value) {
            addCriterion("MENUGRPCODE not like", value, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeIn(List<String> values) {
            addCriterion("MENUGRPCODE in", values, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeNotIn(List<String> values) {
            addCriterion("MENUGRPCODE not in", values, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeBetween(String value1, String value2) {
            addCriterion("MENUGRPCODE between", value1, value2, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpcodeNotBetween(String value1, String value2) {
            addCriterion("MENUGRPCODE not between", value1, value2, "menugrpcode");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameIsNull() {
            addCriterion("MENUGRPNAME is null");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameIsNotNull() {
            addCriterion("MENUGRPNAME is not null");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameEqualTo(String value) {
            addCriterion("MENUGRPNAME =", value, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameNotEqualTo(String value) {
            addCriterion("MENUGRPNAME <>", value, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameGreaterThan(String value) {
            addCriterion("MENUGRPNAME >", value, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameGreaterThanOrEqualTo(String value) {
            addCriterion("MENUGRPNAME >=", value, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameLessThan(String value) {
            addCriterion("MENUGRPNAME <", value, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameLessThanOrEqualTo(String value) {
            addCriterion("MENUGRPNAME <=", value, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameLike(String value) {
            addCriterion("MENUGRPNAME like", value, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameNotLike(String value) {
            addCriterion("MENUGRPNAME not like", value, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameIn(List<String> values) {
            addCriterion("MENUGRPNAME in", values, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameNotIn(List<String> values) {
            addCriterion("MENUGRPNAME not in", values, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameBetween(String value1, String value2) {
            addCriterion("MENUGRPNAME between", value1, value2, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpnameNotBetween(String value1, String value2) {
            addCriterion("MENUGRPNAME not between", value1, value2, "menugrpname");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionIsNull() {
            addCriterion("MENUGRPDESCRIPTION is null");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionIsNotNull() {
            addCriterion("MENUGRPDESCRIPTION is not null");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionEqualTo(String value) {
            addCriterion("MENUGRPDESCRIPTION =", value, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionNotEqualTo(String value) {
            addCriterion("MENUGRPDESCRIPTION <>", value, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionGreaterThan(String value) {
            addCriterion("MENUGRPDESCRIPTION >", value, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("MENUGRPDESCRIPTION >=", value, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionLessThan(String value) {
            addCriterion("MENUGRPDESCRIPTION <", value, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionLessThanOrEqualTo(String value) {
            addCriterion("MENUGRPDESCRIPTION <=", value, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionLike(String value) {
            addCriterion("MENUGRPDESCRIPTION like", value, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionNotLike(String value) {
            addCriterion("MENUGRPDESCRIPTION not like", value, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionIn(List<String> values) {
            addCriterion("MENUGRPDESCRIPTION in", values, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionNotIn(List<String> values) {
            addCriterion("MENUGRPDESCRIPTION not in", values, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionBetween(String value1, String value2) {
            addCriterion("MENUGRPDESCRIPTION between", value1, value2, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenugrpdescriptionNotBetween(String value1, String value2) {
            addCriterion("MENUGRPDESCRIPTION not between", value1, value2, "menugrpdescription");
            return (Criteria) this;
        }

        public Criteria andMenusignIsNull() {
            addCriterion("MENUSIGN is null");
            return (Criteria) this;
        }

        public Criteria andMenusignIsNotNull() {
            addCriterion("MENUSIGN is not null");
            return (Criteria) this;
        }

        public Criteria andMenusignEqualTo(String value) {
            addCriterion("MENUSIGN =", value, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignNotEqualTo(String value) {
            addCriterion("MENUSIGN <>", value, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignGreaterThan(String value) {
            addCriterion("MENUSIGN >", value, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignGreaterThanOrEqualTo(String value) {
            addCriterion("MENUSIGN >=", value, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignLessThan(String value) {
            addCriterion("MENUSIGN <", value, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignLessThanOrEqualTo(String value) {
            addCriterion("MENUSIGN <=", value, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignLike(String value) {
            addCriterion("MENUSIGN like", value, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignNotLike(String value) {
            addCriterion("MENUSIGN not like", value, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignIn(List<String> values) {
            addCriterion("MENUSIGN in", values, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignNotIn(List<String> values) {
            addCriterion("MENUSIGN not in", values, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignBetween(String value1, String value2) {
            addCriterion("MENUSIGN between", value1, value2, "menusign");
            return (Criteria) this;
        }

        public Criteria andMenusignNotBetween(String value1, String value2) {
            addCriterion("MENUSIGN not between", value1, value2, "menusign");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNull() {
            addCriterion("OPERATOR is null");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNotNull() {
            addCriterion("OPERATOR is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorEqualTo(String value) {
            addCriterion("OPERATOR =", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotEqualTo(String value) {
            addCriterion("OPERATOR <>", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThan(String value) {
            addCriterion("OPERATOR >", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThanOrEqualTo(String value) {
            addCriterion("OPERATOR >=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThan(String value) {
            addCriterion("OPERATOR <", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThanOrEqualTo(String value) {
            addCriterion("OPERATOR <=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLike(String value) {
            addCriterion("OPERATOR like", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotLike(String value) {
            addCriterion("OPERATOR not like", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorIn(List<String> values) {
            addCriterion("OPERATOR in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotIn(List<String> values) {
            addCriterion("OPERATOR not in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorBetween(String value1, String value2) {
            addCriterion("OPERATOR between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotBetween(String value1, String value2) {
            addCriterion("OPERATOR not between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andMakedateIsNull() {
            addCriterion("MAKEDATE is null");
            return (Criteria) this;
        }

        public Criteria andMakedateIsNotNull() {
            addCriterion("MAKEDATE is not null");
            return (Criteria) this;
        }

        public Criteria andMakedateEqualTo(Date value) {
            addCriterion("MAKEDATE =", value, "makedate");
            return (Criteria) this;
        }

        public Criteria andMakedateNotEqualTo(Date value) {
            addCriterion("MAKEDATE <>", value, "makedate");
            return (Criteria) this;
        }

        public Criteria andMakedateGreaterThan(Date value) {
            addCriterion("MAKEDATE >", value, "makedate");
            return (Criteria) this;
        }

        public Criteria andMakedateGreaterThanOrEqualTo(Date value) {
            addCriterion("MAKEDATE >=", value, "makedate");
            return (Criteria) this;
        }

        public Criteria andMakedateLessThan(Date value) {
            addCriterion("MAKEDATE <", value, "makedate");
            return (Criteria) this;
        }

        public Criteria andMakedateLessThanOrEqualTo(Date value) {
            addCriterion("MAKEDATE <=", value, "makedate");
            return (Criteria) this;
        }

        public Criteria andMakedateIn(List<Date> values) {
            addCriterion("MAKEDATE in", values, "makedate");
            return (Criteria) this;
        }

        public Criteria andMakedateNotIn(List<Date> values) {
            addCriterion("MAKEDATE not in", values, "makedate");
            return (Criteria) this;
        }

        public Criteria andMakedateBetween(Date value1, Date value2) {
            addCriterion("MAKEDATE between", value1, value2, "makedate");
            return (Criteria) this;
        }

        public Criteria andMakedateNotBetween(Date value1, Date value2) {
            addCriterion("MAKEDATE not between", value1, value2, "makedate");
            return (Criteria) this;
        }

        public Criteria andMaketimeIsNull() {
            addCriterion("MAKETIME is null");
            return (Criteria) this;
        }

        public Criteria andMaketimeIsNotNull() {
            addCriterion("MAKETIME is not null");
            return (Criteria) this;
        }

        public Criteria andMaketimeEqualTo(String value) {
            addCriterion("MAKETIME =", value, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeNotEqualTo(String value) {
            addCriterion("MAKETIME <>", value, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeGreaterThan(String value) {
            addCriterion("MAKETIME >", value, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeGreaterThanOrEqualTo(String value) {
            addCriterion("MAKETIME >=", value, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeLessThan(String value) {
            addCriterion("MAKETIME <", value, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeLessThanOrEqualTo(String value) {
            addCriterion("MAKETIME <=", value, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeLike(String value) {
            addCriterion("MAKETIME like", value, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeNotLike(String value) {
            addCriterion("MAKETIME not like", value, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeIn(List<String> values) {
            addCriterion("MAKETIME in", values, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeNotIn(List<String> values) {
            addCriterion("MAKETIME not in", values, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeBetween(String value1, String value2) {
            addCriterion("MAKETIME between", value1, value2, "maketime");
            return (Criteria) this;
        }

        public Criteria andMaketimeNotBetween(String value1, String value2) {
            addCriterion("MAKETIME not between", value1, value2, "maketime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}